import request from './request'

// 用户管理相关API
export const userAPI = {
  // 获取所有用户
  getAllUsers() {
    return request({
      url: '/users',
      method: 'get'
    })
  },

  // 根据角色获取用户
  getUsersByRole(roleName) {
    return request({
      url: `/users/role/${roleName}`,
      method: 'get'
    })
  },

  // 根据ID获取用户
  getUserById(id) {
    return request({
      url: `/users/${id}`,
      method: 'get'
    })
  },

  // 创建用户
  createUser(data, roleName = 'STUDENT') {
    return request({
      url: `/users?roleName=${roleName}`,
      method: 'post',
      data
    })
  },

  // 更新用户信息
  updateUser(id, data) {
    return request({
      url: `/users/${id}`,
      method: 'put',
      data
    })
  },

  // 删除用户
  deleteUser(id) {
    return request({
      url: `/users/${id}`,
      method: 'delete'
    })
  },

  // 分配角色
  assignRole(id, roleName) {
    return request({
      url: `/users/${id}/assign-role?roleName=${roleName}`,
      method: 'post'
    })
  },

  // 移除角色
  removeRole(id, roleName) {
    return request({
      url: `/users/${id}/remove-role?roleName=${roleName}`,
      method: 'post'
    })
  },

  // 切换用户状态
  toggleUserStatus(id) {
    return request({
      url: `/users/${id}/toggle-status`,
      method: 'post'
    })
  },

  // 修改密码
  changePassword(data) {
    return request({
      url: '/users/change-password',
      method: 'post',
      data
    })
  },

  // 获取个人资料
  getProfile() {
    return request({
      url: '/users/profile',
      method: 'get'
    })
  },

  // 更新个人资料
  updateProfile(data) {
    return request({
      url: '/users/profile',
      method: 'put',
      data
    })
  }
}
